Как извлечь четыре коротких целые без знака ints из одного долгого длинного целого?

Конкретная консоль, которую вы запрашиваете, находится в вашем импорте.
В верхней части вашего кода есть импорт import hsa.Console. Если вы не знакомы с импортом, так как говорите, что вы новичок в программировании / Java, это означает, что когда вы пишете «Консоль» внутри этого файла («CrazyEights.java»), вы ссылаетесь на «Консоль», определенную в «hsa». Приставка". Теперь, поскольку этот класс специфичен для вашего проекта, мы не можем знать, что это такое и что делает. Вам придется открыть его и убедиться в этом.

Однако при быстром поиске вы, вероятно, используете IDE для [ ReadyToProgram »для Holtsoft and Associates, и это то, что префикс hsa обозначает в« hsa.Console ».
[112 ] Если вы не используете это и просто скопировали код, ожидая, что он будет работать, это не будет. Этот импорт не входит в стандартную библиотеку Java. Вам нужно будет найти его, загрузить и добавить в зависимости от проекта. Если бы вы сделали это только для того, чтобы начать где-нибудь с Java, и это не важно для вас, я бы предложил оставить этот блок кода и перейти куда-нибудь еще.

5
задан Paweł Hajdan 29 September 2008 в 10:49
поделиться

3 ответа

#include <stdint.h>
#include <stdio.h>

union ui64 {
    uint64_t one;
    uint16_t four[4];
};

int
main()
{
    union ui64 number = {0x123456789abcdef0};
    printf("%x %x %x %x\n", number.four[0], number.four[1],
                            number.four[2], number.four[3]);
    return 0;
}
11
ответ дан 18 December 2019 в 10:50
поделиться
(unsigned short)((((unsigned long long int)value)>>(x))&(0xFFFF))

где value Ваш long long int, и x 0, 16, 32 или 48 для этих четырех коротких замыканий.

3
ответ дан 18 December 2019 в 10:50
поделиться
union LongLongIntToThreeUnsignedShorts {
   long long int long_long_int;
   unsigned short int short_ints[sizeof(long long int) / sizeof(short int)];
};

Это должно сделать то, чему Вы думаете о, не имея необходимость бездельничать с разрядным смещением.

2
ответ дан 18 December 2019 в 10:50
поделиться