小编jia*_*ake的帖子

如何将两个32位整数组合成一个64位整数?

我有一个计数寄存器,它是由两个32位无符号整数,一个用于值(最显著字)的高32位,以及其他为值(至少显著字)的低32位.

在C中组合这两个32位无符号整数然后显示为大数的最佳方法是什么?

具体来说:

leastSignificantWord = 4294967295; //2^32-1

printf("Counter: %u%u", mostSignificantWord,leastSignificantWord);
Run Code Online (Sandbox Code Playgroud)

这打印很好.

当数字增加到4294967296时,我有它,所以最少有意思的W擦除为0,而且最重要的是Word(最初为0)现在为1.整个计数器现在应该读取4294967296,但是现在它只读取10,因为我只是连接1个来自最重要的词,0个来自最不重要的词.

我怎么能让它显示4294967296而不是10?

c printf

22
推荐指数
2
解决办法
5万
查看次数

Google测试夹具

我正在尝试了解Google测试夹具的工作原理.

说我有以下代码:

class PhraseTest : public ::testing::Test
{
     protected:
     virtual void SetUp()
     {      
         phraseClass * myPhrase1 = new createPhrase("1234567890");
         phraseClass * myPhrase2 = new createPhrase("1234567890");  
     }

     virtual void TearDown()
    {
        delete *myPhrase1;
        delete *myPhrase2;  
     }
};



TEST_F(PhraseTest, OperatorTest)
{
    ASSERT_TRUE(*myPhrase1 == *myPhrase2);

}
Run Code Online (Sandbox Code Playgroud)

当我编译时,为什么在TEST_F中声明"myPhrase1"和"myPhrase2"未声明?

c++ testing googletest

19
推荐指数
1
解决办法
3万
查看次数

将两个数字合二为一.示例:123和456变为123456

在C++中,如何将两个整数组合(注意:不添加)成一个大整数?

例如:

int1 = 123;
int2 = 456;
Run Code Online (Sandbox Code Playgroud)

是否有一个函数来取两个数字并将intCombined转换为123456?

编辑:

我不好解释清楚.如果int2为0,则答案应为123,而不是1230.实际上,如果int2超过32位限制,则int1(左侧的数字)将只有一个值.所以当int2为0时,int1为0(或垃圾,我不确定).

c++ formatting parsing

18
推荐指数
5
解决办法
4万
查看次数

批处理脚本复制文件名?

我正在尝试创建一个批处理脚本:

  • 复制新文件的文件名
  • 将每个文件名粘贴到文本文件中最后一行之前的新行中

例如:我的文件夹中有名为Picture.JPG和Picture2.JPG的文件。该批处理需要复制文件名“Picture”和“Picture2”并将其粘贴到textfile.txt中,其中已经有我不想覆盖的最后一行,因此它会显示如下:

Picture
Picture2
This is the last line
Run Code Online (Sandbox Code Playgroud)

请注意,我不想复制 .JPG 扩展名。

有任何想法吗?

batch-file

1
推荐指数
1
解决办法
8703
查看次数

标签 统计

c++ ×2

batch-file ×1

c ×1

formatting ×1

googletest ×1

parsing ×1

printf ×1

testing ×1