Как установить Ubuntu на моем Lenovo, который имеет четыре раздела

Есть ли стандартная функция знака (signum, sgn) в C / C ++?

Да, в зависимости от определения.

C99 и более поздние имеют макрос signbit() в

int signbit (в реальном времени x);
Макрос signbit возвращает ненулевое значение тогда и только тогда, когда знак значения аргумента отрицательный. C11 §7.12.3.6


И все же OP хочет что-то немного другое.

Я хочу функцию, которая возвращает -1 для отрицательных чисел и +1 для положительных чисел. ... функция, работающая на поплавках.

#define signbit_p1_or_n1(x)  ((signbit(x) ?  -1 : 1)

Глубже:

Должность не является конкретной в следующих случаях, x = 0.0, -0.0, +NaN, -NaN.

Классический signum() возвращает +1 на x>0, -1 на x>0 и 0 на x==0.

Многие ответы уже охватили это, но не касаются x = -0.0, +NaN, -NaN. Многие из них ориентированы на целочисленную точку зрения, в которой обычно отсутствуют не-числа ( NaN ) и -0,0 .

Типичные ответы работают как signnum_typical() В -0.0, +NaN, -NaN они возвращают 0.0, 0.0, 0.0.

int signnum_typical(double x) {
  if (x > 0.0) return 1;
  if (x < 0.0) return -1;
  return 0;
}

Вместо этого предложите эту функциональность: На -0.0, +NaN, -NaN он возвращает -0.0, +NaN, -NaN.

double signnum_c(double x) {
  if (x > 0.0) return 1.0;
  if (x < 0.0) return -1.0;
  return x;
}
0
задан 05.05.2020, 11:36

1 ответ

Нам нужна дополнительная информация о конфигурации вашего жесткого диска, таблица разделов GPT или MBR? Общий размер жесткого диска?

Предполагая его MBR, это позволит только 4 основных раздела. Так что вам придется удалить 2 основных раздела и изменить размер 1 для Ubuntu. Затем в другом разделе создайте расширенный раздел с логическим разделом, чтобы вы могли добавлять другие логические разделы, если они вам нужны.

Ваша таблица разделов будет выглядеть примерно так:

Primary 1 - sda1 (ntfs - Windows)
Primary 2 - sda2 (ntfs - Windows)
Primary 3 - sda3 (ext4 - Ubuntu)
Primary 4 - (if needed)   

Extended Partition:
    Logical - sda4 (Linux Swap)
    Logical - sda5 (if needed)

Это если ваш жесткий диск настроен для MBR и если на вашем жестком диске есть место для второй ОС. В конце вам, вероятно, придется удалить разделы, чтобы освободить место. Удачи.

0
ответ дан 05.05.2020, 11:37

Теги

Похожие вопросы