标题:
关于单片机C语言值的定义
[打印本页]
作者:
sr861126
时间:
2024-3-18 10:56
标题:
关于单片机C语言值的定义
Disbuff[3]=11;与Disbuff[3]=0x11;的区别是怎么样的
作者:
snso666
时间:
2024-3-18 13:41
一个是十进制,一个是十六进制,0x11=17;
作者:
13205495918
时间:
2024-3-18 14:07
0x11转换为十进制是17
作者:
zhuls
时间:
2024-3-18 15:15
这个问题....只有二班、三班的同学才可能问的。。。
作者:
sr861126
时间:
2024-3-18 16:19
zhuls 发表于 2024-3-18 15:15
这个问题....只有二班、三班的同学才可能问的。。。
寄存器可以直接赋值十进制的?
作者:
zhuls
时间:
2024-3-18 16:29
sr861126 发表于 2024-3-18 16:19
寄存器可以直接赋值十进制的?
可以,你只要换算好值 就可以。不管二、八、十、十六进制,对MCU来说,都是二进制。。
作者:
明日之星8
时间:
2024-3-18 20:25
sr861126 发表于 2024-3-18 16:19
寄存器可以直接赋值十进制的?
你写的程序不能直接给单片机,是要经过你的电脑“翻译”(编译)成机器码再
写进单片机的,无论是十进制还是十六进制,编译器都能正确识别,你写程
序的时候怎么方便怎么写,1到9开头的都是十进制,“0x”开头的都是十六进制。
作者:
明日之星8
时间:
2024-3-18 20:55
比如说8位数字最高位为1的数是128,写成十六进制是0x80,
16位数字最高位为1的数我花了很大的力气记下来了是32768,
写成十六进制是0x8000,32位最高位为1的数是2147483648,
我没有去记它,因为很容易记错,但我知道写成十六进制是
0x80000000,64位最高位为1的数写成十六进制是8后面15个
“0”,前面加上“0x”开头,这样记就不会出错。
作者:
wannenggong
时间:
2024-3-18 21:45
编程时你只写Disbuff[3]=11;这是没问题的,但你自己要知道这个11是十进制的11,而不是十六进制的0x11(十进制等于17),如果你想写出0x--的数据格式就需要转换下可以写作0x0b,可以借助windows系统自带的计算器(选定为程序员模式)来换算。
作者:
Hephaestus
时间:
2024-3-19 00:34
寄存器只能是二进制,不管你写几进制最后运行的都是二进制。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1