C语言
Xibo_Yue
一起学习,一起进步
展开
-
字符集与字符编码
字符集:为每个字符定义一个编号(通常用二进制表示);字符编码:规定了如何将一个字符所对应的编号 存储到计算机的过程,如果使用了类似 GB2312 和 GBK 的变长存储方案(不同的字符占用的字节数不一样),那么为了区分一个字符到底使用了几个字节,就不能将字符的编号直接存储到计算机中,字符编号在存储之前必须要经过转换,在读取时还要再逆向转换一次,这套转换方案就叫做字符编码。有的字符集在制定时就考虑到了编码的问题,是和编码结合在一起的,例如 ASCII、GB2312、GBK、BIG5 等,所以无论称作字原创 2021-08-05 15:20:34 · 119 阅读 · 0 评论 -
原码、反码、补码
假设有一个 int 类型的数,值为5,那么,它在计算机中表示为:00000000 00000000 00000000 000001015转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。-5在计算机中如何表示?在计算机中,负数以原码的补码形式表达。什么叫补码呢?这得从原码,反码说起。原码:一个正数,按照绝对值大小转换成的二进制数就是正数的原码...原创 2019-07-09 15:43:13 · 411 阅读 · 0 评论 -
C语言负数整形的除法和取余
C语言整形的除法的结果需要取整,例如5 / 3 = 1。C语言中的取整方式是向零取整。取整风格共有3种:向零取整。即向坐标轴0的方向,取最近的整数。 向上取整。也就是向+∞取整,即取不小于结果的最小整数。 向下取整。也就是向-∞取整,即取不大于结果的最大整数。所以,C语言中计算-5除以3,因为实数结果约为-1.67,向零取整,得到结果为-1。关于除法,人们常常用向右移位的方式来快...原创 2019-07-10 09:32:45 · 6846 阅读 · 0 评论 -
原码、反码、补码的原理(为什么要用补码)
学过计算机原理的人都知道原码、反码、补码,但是有多少人知道为什么会有这三种码呢,这三种码又是用来干嘛的呢。 众所周知,在计算机的世界只有01,那么显然所有的数都得转成二进制,这样计算机才能够理解。如何将一个十进制的数转成二进制就不说了,说下原码,正数的原码就是十进制转成二进制得到的二进制值,而负数是对应的正数转成二进制得到的二进制值,然后将最高位(符号位)置为1表示这是一个负数,如-10:1...原创 2019-07-10 09:46:12 · 2285 阅读 · 2 评论