这是我初学C#时的问题.明明254大0那么多.咋a与b所占的空间却一样大?a真占那么大空间?不知道各位高见何如?大家从底层来聊聊.有空的话.也给其它有同样疑问的人求个解..当然我现在知道答案了.和和

解决方案 »

  1.   

    typeof()才是看byte这个数据类型所占的空间。不是根据你给它的值来看。
      

  2.   

    LZ概念错误吧?
    1 Byte = 8 bit Byte(字节)bit(位)固定为定长是为了方便底层逻辑电路的实现,如果设计为变长的那么电路实现复杂度会高出很多。当然,这个长度是人为固定的,不一定非要八位。根据应用的需求来。
      

  3.   

    byte a=0;0 0 0 0 0 0 0 0 
    byte b=2541 1 1 1 1 1 1 0都是8位.
      

  4.   

    byte 无符号 8 位整数
    254在内存中以二进制保存,都已字节为单位.
    一字节8 bit 
      

  5.   

    8楼说的不错.我发这个贴是因我我和一个程序员聊天的时候说到这个话题.他当时的回答是:"这个简单了啊.因为它们都是byte类型".其实很多看似简单的问题并不那么简单.高级语言也放并不关心这些.不过了解一下也没坏处..和和^_^
    与其说程序语言的数据类型.不如说程序语言的数据长度.对吧?
      

  6.   


    是的,不过应该说是现在主流计算机体系结构的程序语言数据长度。不排除将来新的设计需求。也许将来某一天抛弃了现在的冯诺依曼结构推出一个新的计算机结构,那时恐怕整个计算机乃至整个世界会有翻天覆地的变化。毕竟截止目前位置计算机的原型还是图灵机。没说不好,我不正是在踊跃的支持LZ么?
    呵呵,LZ要是满意结贴时多给点分就好啦 :)
      

  7.   

    byte  这个所占的内存是语言设计时就固定了的,是考虑了性能和兼容的。。