读书人

简单的转换有关问题!求指教

发布时间: 2012-10-14 14:55:07 作者: rapoo

简单的转换问题!求指教!

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]);    } 

读书人网 >C++

热点推荐