關於數據庫字段長度字節(byte)和(bit)的幾個概念問題!


  應用據庫也很久了,只是幾個概念問題一直在糾結!
   1 、字節(byte)
   2、位(bit)
   3、存儲單位
   4、字節和二進制的關系,即byte和bit的轉化關系。
   看來看去,其實就是一個概念里面的兩個不同單位,標准單位值之間的轉化,首先要理解的就是不論是bit還是byte,都是存儲單位,用來計量存儲容量的單位。 那么再來看二進制和bit的關系,二進制系統中,每個0或者1就是一個位即bit。而在計算機系統中數據存儲的時候用byte,存儲數據時最小單位就是byte,跟bit沒關系。數據傳送的時候大部分又用bit,而一個字節(byte)=8個位(bit)。
   之所以很糾結就是主要關於,一個漢字、一個英語字母、一個漢字符號、一個英語符號分別站多少位,一個漢字占2個字節,一個英語字母占1個字節不分大小寫。
  
int 存儲數值的范圍是:-2的32次方--2的32次發減1,(也就是-247483648至147483647之間的所有正負整數),所以說int是不需要指定長度為多少的。
    解釋下char和nchar的異同
首先char眾所周知最大取值是8000,每一個字節就是一個存儲單位,英文和數值只占一個存儲單位,所以char(10)可以最多容納10個英文或者數字,但中文不一樣,在某些系統下有每個中文會占4個存儲單位,所以char(10)有可能容納2個或者4個中文。
 而nchar的最大取值范圍是4000剛好是char的一半,為什么是4000呢?因為nchar采用了一種標准,這種標准的名字我就忘記了,它規定每個存儲單位是2個字節而並非char的每存儲單位1字節。所以nchar(10)最大可以容納10個數字或者英文字母或者標點符號,而中文就最大可以容納10個或者5個,視系統情況而定。

原文:https://blog.csdn.net/u012286682/article/details/46813499


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM