【问题标题】:Splitting an Unsigned Long in C++在 C++ 中拆分无符号长整数
【发布时间】:2021-08-17 05:50:02
【问题描述】:

我有一个十六进制数 0x5ED3710573047010,我想将其分成两部分。我应该将其转换为字符串并拆分字符串,然后将两个字符串转换回 Int 并将其存储在两个单独的变量中吗?还是有一些简单快捷的方法可以使用某种位移或数学来做到这一点?

【问题讨论】:

  • 我应该把它转换成一个字符串...它是一个字符串开头吗?如果没有,从什么开始?
  • @Eljay 以无符号长数据类型开头
  • 这是恳求“完成后,我想要两个看起来像这样的无符号整数值:”基于您的示例。
  • @@WhozCraig 伤心

标签: c++ string xcode split unsigned


【解决方案1】:

您可以使用掩码和位操作。

unsigned int first_half = (my_long & 0xffffffff00000000) >> 32;
unsigned int second_half = my_long & 0x00000000ffffffff;

【讨论】:

    猜你喜欢
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 2012-07-31
    • 1970-01-01
    • 2022-05-07
    • 1970-01-01
    • 2018-08-18
    相关资源
    最近更新 更多