标题: [问题求助] [已解决]PowerShell脚本16进制左移计算 [打印本页]
作者: 小白龙 时间: 2023-4-2 09:51 标题: [已解决]PowerShell脚本16进制左移计算
一直对左移和右移不太懂, 今天看了下面的文章, 还是不太懂
http://code.newban.cn/163.html
文章有下面的文本, 2F0怎么能乘以或除以16? 2F0是什么?
2F0往左移一位变成2F00, 可以理解为是2F0乘以16得来的
2F0往右移一位变成2F, 可以理解为是2F0除以16得来的
请求路过高手, 计算一下, 下面的式子, 左移后的16进制值和10进制值分别是什么
0x0300<<16
作者: WHY 时间: 2023-4-2 15:56
本帖最后由 WHY 于 2023-4-2 16:01 编辑
2F0 按16进制常规写法就是 0x02F0,共两个字节(1个字节8位),02是高字节,F0是低字节。
如果不明白,把它转成2进制形式:
0000001011110000 红色=02,蓝色=F0
二进制左移1位,数据扩大一倍(2的1次方)
0000010111100000 红色=05,蓝色=E0
二进制左移4位,数据扩大16倍(2的4次方)
0010111100000000 红色=2F,蓝色=00
2进制左移4位,相当于16进制左移一位
0x0300左移16位,相当于16进制左移4位,补4个0即可:0x03000000- 0x0300 -shl 16
- (0x300)*[Math]::Pow(2,16)
复制代码
- ([int32]((0x300)*[Math]::Pow(2,16))).ToString('X')
复制代码
作者: 小白龙 时间: 2023-4-2 18:22
回复 2# WHY
多谢大佬详细指导!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |