Arm*_*enB 5 linux embedded bash shell
在运行时在本地计算机bash中运行:
echo $((192 << 24))
3221225472
Run Code Online (Sandbox Code Playgroud)
但是在我的嵌入式目标忙框上,我得到了其他东西:
echo $((192 << 24))
-1073741824
Run Code Online (Sandbox Code Playgroud)
当我左移较小的数字时,它会起作用。嵌入式设备是64位,而我的本地主机是32位。
需要明确的是,在32位计算机上,该值为正;在64位计算机上,该值为负。
编辑:这是在带有SHELL的64位计算机的嵌入式设备上。左移23时不会发生。
echo $((192 << 23))
1610612736
echo $((192 << 24))
-1073741824
Run Code Online (Sandbox Code Playgroud)
在本地主机上,这是一台具有BASH的32台计算机:
echo $((192 << 55))
6917529027641081856
echo $((192 << 56))
-4611686018427387904
Run Code Online (Sandbox Code Playgroud)