草庐IT

GL_UNSIGNED_BYTE

全部标签

c++ - 你如何从一个字符串中得到一个 unsigned long?

在C++中从字符串中检索无符号长整数的最安全和最佳方法是什么?我知道许多可能的方法。首先,转换从atol中获取的有符号long。char*myStr;//Initalizedtosomevaluesomehow.unsignedlongn=((unsigned)atol(myStr));这个问题很明显,当存储在myStr中的值大于有符号长整数可以包含的值时会发生什么?atol检索什么?下一个可能性是使用strtoul。char*myStr;//Initalizedtosomevaluesomehow.unsignedlongn=strtoul(myStr,0,10);但是,这对我的需求

c++ - Unsigned Long Long 不会超过第 93 个斐波那契数?

这是我为查找第n个斐波那契数而编写的代码:unsignedlonglongfib(intn){unsignedlonglongu=1,v=1,t;for(inti=2;i虽然算法运行得非常快,但当n>93时,输出开始变得异常。我认为/知道这是因为unsignedlonglong的64位大小。我是C++的新手,但有没有办法解决这个问题,这样我就能得到类似fib(9999)的答案?谢谢 最佳答案 http://gmplib.org/GMPisafreelibraryforarbitraryprecisionarithmetic,oper

c++ - 为什么 unsigned char 用于 RGB 像素数据?

我正在使用一些基本的计算机图形学来学习C++。像素数据通常表示为:unsignedchar*pixelsunsignedchar很好,因为它是0到255之间的值(256=2^8因为char是2个字节,1个字节是8位?)。这很好,因为在RGB中,颜色用0到255之间的数字表示。但是..我将其理解为单色图像,在正常图像中我有RGB,我会有3个未签名字符数组,一个用于红色,一个用于绿色,一个用于蓝色。像这样的东西:unsignedchar*pixels[3]但我从来没有发现类似的RGB像素数据 最佳答案 RGB图像通常以交错顺序存储(R1

c++ - 为什么 GL_LEQUAL 推荐用于 GL 深度函数(为什么它对我不起作用)?

关于GLwiki他们建议使用GL_LEQUAL作为深度函数。此外,深度函数默认为GL_LESS。当我使用这些功能中的任何一个时,我都会得到奇怪的结果。在这张图片中,红色方block应该在蓝色方block的前面(两个方block的大小相同):但是,如果我使用glClearDepth(0.0)然后使用glDepthFunc(GL_GREATER),运行其他未更改的程序,我得到这个:仔细考虑一下,GL_LESS会给出它所做的结果是有道理的:如果传入的深度值小于存储的深度值,则写入片段。如果我将相机定位在(1,0,0)并朝(0,0,0)方向看,我希望在(0.5,0,0)位于(0,0,0)处的对

c++ - 为什么 ~(true^true) 不是真的? boolean 运算符(否定)适用于 `unsigned char` s,但不适用于 boolean 值? (C++)

我听说通常除了0之外的“一切”都是真的。但是现在我身上发生了非常奇怪的事情……或者我只是认为我以正确的方式做事,而我却没有。这是正在发生的事情:当我想检查a是否等价于b时,我可以使用NOT(aXORb)。当我检查unsignedchar时,一切正常,例如unsignedchara=5;unsignedcharb=3;unsignedcharc=~(a^b);给我c==249:a是:00000101,也就是5。b是:00000011,也就是3。~(a^b)是:11111001,即249。现在,让我们用bool来试试这个。cout这让我在控制台中:-1-2-2-10110false虽然我希

c++ - 从 unsigned int (C++) 读取最左位的最快方法?

从unsignedint中读取最左边位的最快方法是什么? 最佳答案 i>>(sizeof(unsignedint)*CHAR_BIT-1)sizeof、乘法和减法将由任何合理的编译器在编译时计算,因此这应该成为一条右移指令,它的速度与您将获得的速度差不多。 关于c++-从unsignedint(C++)读取最左位的最快方法?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3344

c++ - 带负值的 Unsigned long

请看下面的简单代码:#include#includeusingnamespacestd;intmain(void){unsignedlongcurrentTrafficTypeValueDec;longinput;input=63;currentTrafficTypeValueDec=(unsignedlong)1LL为什么printf()显示负值的currentTrafficTypeValueDec(unsignedlong)?输出是:92233720368547758080-9223372036854775808 最佳答案 %d

c++ - IBO 比 GL_TRIANGLE_STRIP 还差?

出于学习目的,我决定使用3种方法绘制球体显示列表VoaVbo(GL_TRIANGLE_STRIPE)VaoVbo和Ibo(GL_TRIANGLES)我听说使用ibo可以使程序运行得更快,但这是真的吗?对于100个切片和100个堆栈的球体,第二种方法产生40400个顶点,而第三种方法“仅”产生19802个顶点。通过这样做,我保存了20598个顶点,每个32字节=659136字节。verticesSize=(slices*4)*(stacks+1);IBOverticesSize=(slices*2)*(stacks-1)+2;但是我需要制作索引数组,在这种情况下大小为118800(创建所

c++ - Ada 到 C++ : Pass an unsigned 64-bit value

我需要将2条数据从Ada程序传递给一些C++代码进行处理。数据-双倍。时间-无符号64位。我能够使用Long_Float(在C++中为double)和Integer(在C++中为int,但显然不是64位)在Ada中创建一个与我的C++方法一起工作的过程。我使用了以下代码(代码不在我身上,所以语法可能略有偏差):proceduresend_data(this:inhidden_ptr;data:inLong_Float;time:inInteger);pragmaimport(CPP,send_data,"MyClass::sendData");现在它正在运行,我正在尝试将时间扩展到完整

c++ - 无法将 'vector<unsigned long>' 转换为 Python 对象

我正在尝试用签名包装一个C++函数vectorOptimized_Eratosthenes_sieve(unsignedlongmax)使用赛通。我有一个包含函数的文件sieve.h,一个静态库sieve.a和我的setup.py如下:fromdistutils.coreimportsetupfromdistutils.extensionimportExtensionfromCython.Distutilsimportbuild_extext_modules=[Extension("sieve",["sieve.pyx"],language='c++',extra_objects=["