简单的转换有关问题!求指教
简单的转换问题!求指教!
怎样转换将上述的日期按照下面的格式放到day数组里面去.
day[0] = 0x16;
day[1] = 0x0C;
day[2] = 0x09;
day[3] = 0x18;
------解决方案--------------------
哼哼
- C/C++ code
char * DayInfo = "20120924"; char day[4];
怎样转换将上述的日期按照下面的格式放到day数组里面去.
day[0] = 0x16;
day[1] = 0x0C;
day[2] = 0x09;
day[3] = 0x18;
------解决方案--------------------
哼哼
- C/C++ code
#include <stdio.h> #include <emmintrin.h> using namespace std; int main() { char * DayInfo = "20120924"; char day[4]; __m128i x = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(DayInfo)); __m128i y = _mm_set1_epi8(0x0f); x = _mm_and_si128(x, y); y = _mm_set1_epi8(0); x = _mm_unpacklo_epi8(x, y); y = _mm_set1_epi32(0x0001000a); x = _mm_madd_epi16(x, y); x = _mm_packs_epi32(x, x); x = _mm_packs_epi16(x, x); *reinterpret_cast<int*>(day) = _mm_cvtsi128_si32(x); printf("%s --> 0x", DayInfo); for (int i = 0; i < 4; ++i) printf("%.2x", day[i]); printf("\n"); return 0; }
------解决方案--------------------
引用:
- C/C++ code
char * DayInfo = "20120924"; char day[4]; for (int i = 0; i != 4; i++) { sscanf_s(DayInfo + 2*i,"%2d",&day[i]); }