如何把浮点数转换为二进制数
发布网友
发布时间:2022-04-20 03:17
我来回答
共3个回答
热心网友
时间:2022-05-23 16:12
255*(x/2+1)/2的计算结果被强制转化为unsigned char类型,并赋给a。
这个回答肯定是不对的 除非写法是a = (unsigned char)(255*(x/2+1)/2)
1.(unsigned char)255是二进制11111111
2.*(x/2+1)/2 x是一个浮点数,运算出来仍然是浮点数
我不明白你什么意思追问这是对数模转换驱动程序的测试程序中的,是将一个普通浮点数转换为一个二进制浮点数,我就是看不明白他是怎么转换的,就是将浮点数x转换成二进制浮点数a
热心网友
时间:2022-05-23 16:13
255*(x/2+1)/2的计算结果被强制转化为unsigned char类型,并赋给a。
热心网友
时间:2022-05-23 16:13
浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。
二进制数(binaries)是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制。电脑的基础是二进制。在早期设计的常用的进制主要是十进制(因为我们有十个手指,所以十进制是比较合理的选择,用手指可以表示十个数字,0的概念直到很久以后才出现,所以是1-10而不是0-9)。电子计算机出现以后,使用电子管来表示十种状态过于复杂,所以所有的电子计算机中只有两种基本的状态,开和关。也就是说,电子管的两种状态决定了以电子管为基础的电子计算机采用二进制来表示数字和数据。常用的进制还有8进制和16进制,在电脑科学中,经常会用到16进制,而十进制的使用非常少,这是因为16进制和二进制有天然的联系:4个二进制位可以表示从0到15的数字,这刚好是1个16进制位可以表示的数据,也就是说,将二进制转换成16进制只要每4位进行转换就可以了。
二进制的“00101000”直接可以转换成16进制的“28”。字节是电脑中的基本存储单位,根据计算机字长的不同,字具有不同的位数,现代电脑的字长一般是32位的,也就是说,一个字的位数是32。字节是8位的数据单元,一个字节可以表示0-255的十进制数据。对于32位字长的现代电脑,一个字等于4个字节,对于早期的16位的电脑,一个字等于2个字节。