1
A
回答
2
這可以幫助你;
#!/bin/bash
input=$1
if [[ $input -lt "0" ]]; then
output=$((4294967296+$input))
else
output=$input
fi
echo $output
#signed int32;
#–2,147,483,648 to 2,147,483,647
#unsigned int32
#0 to 4,294,967,295
1
這裏去,可能不是最快的,但似乎工作
unsigned_to_signed()
{
local hex=$(printf "0x%x" $(($*)))
local unsigned=$(printf "%u" $hex)
echo $unsigned
}
unsigned_to_signed32()
{
local hex=$(printf "0x%x" $(($* & 0xFFFFFFFF)))
local unsigned=$(printf "%u" $hex)
echo $unsigned
}
unsigned_to_signed -256
18446744073709551360
unsigned_to_signed32 -256
4294967040
相關問題
- 1. 從無符號長整型轉換爲無符號整型
- 2. C++算術類型轉換與無符號&符號整數
- 3. 無符號整型轉換C++
- 4. 符號 - 無符號轉換
- 5. 將有符號整數轉換爲無符號長整型的最佳方法?
- 6. 我可以將無符號字符*轉換爲無符號整型*嗎?
- 7. 將無符號整數轉換回char *?
- 8. 轉換爲unsigned char無符號整數*
- 9. 無符號整數Java位轉換
- 10. 將無符號字符(數組)轉換爲無符號整數(數組)
- 11. shell腳本符號「:>」
- 12. 將n位整數從無符號轉換爲有符號
- 13. 將無符號整數變量轉換爲帶符號變量
- 14. AWK將大無符號整數轉換爲有符號整數(二進制)
- 15. 在無符號整數和有符號整數之間進行C++轉換
- 16. C - 將字符串轉換爲無符號整型
- 17. 無符號整數
- 18. 有符號和無符號整數?
- 19. 無符號和符號整數
- 20. 隱式轉換爲無符號類型的負整數
- 21. 將NSData轉換爲無符號整型32數組
- 22. 將無符號字符數組轉換爲整數
- 23. C將無符號字符轉換爲無符號字符:4
- 24. 無符號整型[2]?
- 25. 「Int」和「無符號整型」
- 26. C++和 - (無符號整型)
- 27. 無符號整型溢出
- 28. 從無符號轉換爲帶符號的類型安全嗎?
- 29. 從符號類型轉換爲無符號的問題
- 30. C++有符號整數轉換爲無符號位數更多位
那你試試? –
我試過這樣的負數: SIGNED = -256 UNSIGNED = $((0x'printf'%x'$ SIGNED | grep -Eo'。{8} $'')) – Songe