2014-08-28 6 views
-2

0xFFFFFFFF 형식의 FFFFFF 형식을 얻기 위해 바이트 시프 팅을 사용하고 있습니다. 00로 시작하는 색상은 4 문자입니다.0xFFFFFFFF를 FFFFFF 형식으로 변환

printf("{%x}", 0x008000FF >>> 8); // returns {0080} which is NOT right, should return {008000} 
printf("{%x}", 0xFF9900FF >>> 8); // returns {FF9900} which is right 
+0

형식에 "너비"와 "0 패드"만 지정하면됩니다. EX :'printf ("{% 08x}", 0x008000FF >> 8),'printf ("0x % 08x", 0x008000FF >> 8); 아니면 6 문자 (8 대신)를 고집한다면 :'printf ("{% 06x}", 0x008000FF >> 8),' – FoggyDay

+3

'>>>은 무엇입니까? 그것은 올바른 교대'''가되어야 하는가? – indiv

+0

'printf ("{% x}", 0x008000FF >> 8);'_not_는 "{0080}"을 (를) 반환하지 않습니다. 대신 "{8000}"을 반환합니다. (오타 오류''>''는''''을 의미합니다.) – chux

답변

0

문제 %06x 대신 %x로를 이용하여 해결 될 수있다. 16 진수 값은 숫자이므로 %06x처럼 02, 05 또는 09에 %02d을 사용하십시오.

+0

Q & A 주제를 만들었습니다. –

+0

예. 새 질문을 시도하면 자신의 질문에 대답하는 옵션이 표시됩니다. –

+0

@ Blubberguy22 네, 자신의 질문을 할 수 있습니다. 그것은 SO에 권장됩니다 : http://stackoverflow.com/help/self-answer 당신은 [정보 배지] (http://stackoverflow.com/help/badges/2600/informed)를 얻을 수 있습니다. – chux