Как узнать длину числа?
Как узнать длину массива
например объявил массив char x, ввел в него gets(x), теперь в массиве строка, но как узнать длину.
Как узнать длину массива?
Функция в качестве параметра получает массив BYTE*. Как узнать его длину?
Узнать длину строки и длину каждого слова
есть код который реверсирует слова в строке. Как узнать длину слова(например 3 слова ) и.
Как узнать длину указателя (в байтах)?
как узнать длину указателя(в байтах) sizeof(указатель)почему то не работает?
можно еще вывести на экран и посчитать на сколько знаков сместилась каретка ввода 😀
| Меню пользователя @ Vorona |
Сообщение от Vorona
можно еще вывести на экран и посчитать на сколько знаков сместилась каретка ввода 😀
Это для изврещенных умов ассемблероманов 😀
Сообщение от Manjak
Сообщение от Manjak
Сообщение от Manjak
Сообщение от Evg
Manjak:
Ну и в чем проблемы, вот оформили в виде функции, достаточно одной строчки вызова и все.
Добавлено через 52 секунды
Это проще и лучше чем itoa + strlen
Сообщение от CyBOSSeR
Конкретно для данной постановки задачи мне было бы плевать на производительность. Пусть хоть в 100 раз быстрее, но я бы выбрал тот вариант, который проще.
Если немного пораскинуть мозгами, то вариант Manjak пост-фактум оказался более надёжным. Он свои проблемы переложил на чужие плечи (библиотечные функции) и чихал на всё. А при внимательном рассмотрении варианта через деление оказывается, что оно вернёт неправильный результат для нуля и отрицательных чисел. Т.е. теоретически угробилось лишнее время на отладку. А если неправильный результат вылился в неправильную работу с динамической памятью, то на поиск ошибки можно было бы ухлопать кучу времени
How to Find Length of Integer Variable in C#
In this tutorial, learn how to find length of integer variable in C# or C-Sharp. The short answer is to use the myInt.ToString().Length method and replace myInt with your integer variable.
You can also use the loop to get the count of integer variable value in C#. Loop counts the digits in an integer variable in each loop one by one. However, there are some other methods with other functions that you will learn in this tutorial.
So, find out different methods to get the length of the int variable with the examples given here.
Table of Contents
Find Length of Integer Variable Using ToString().Length Method in C#
To find the length of the integer variable, you have to use the myInt.ToString().Length method. Also, you have to change the myInt variable with your integer variable. It first converts the integer variable to the string variable using the ToString() . After that, it counts the length as given below.
The length of integer variable is: 3
The above examples show the length of the integer variable as 3. It first declares the integer variable using the int data type. After that, it calculates the size of the integer variable using the method. There are three digits in a variable value. That’s why the results if the length of the integer variable is 3.
Note: The above method is not useful when you have to find the length of the integer variable. You can use the below-given methods to find the length of both positive as well as a negative integer variables.
Как узнать длину числа c
Например, на вход в функцию поступает число 12345. Результатом будет 5. Даже если число отрицательное, например, -1234567, то результатом будет 7.
![]()
![]()
Для работы с log10 и abs необходимо подключить библиотеку math.h (Для типа int работает корректно)
Если же входные данные типа long или long long, то лучше обойтись обычным же стопудовым вариантом — через циклы. (Выше коллеги представили множество подобных решений).
C++ — как найти длину целого числа
Я пытаюсь найти способ, чтобы найти длину целого числа (количество цифр), а затем поместить его в массив целых чисел. Задание также требует сделать это без использования классов из STL, хотя спецификация программы говорит, что мы можем использовать «общие библиотеки C» (спрошу моего профессора, могу ли я использовать cmath, потому что я предполагаю, что log10(num) + 1-Самый простой способ, но мне было интересно, есть ли другой способ).
ах, и это не должно обрабатывать отрицательные числа. Исключительно неотрицательные числа.
Я пытаюсь создать класс variant «MyInt», который может обрабатывать более широкий диапазон значений с помощью динамического массива. Любые советы будут оценены! Спасибо!
13 ответов
количество цифр целого числа n в любой базе тривиально получается путем деления, пока вы не закончите:
Не обязательно самый эффективный, но один из самых коротких и самых читаемых на C++:
Если вы можете использовать библиотеки C, то один из методов будет использовать sprintf, например,
» Я имею в виду количество цифр в целом, т. е. «123» имеет длину 3″
Нахождение длины целого числа в C
Почему бы просто не взять в log-10 логарифм абсолютного значения числа, округлить его и добавить? Это работает для положительных и отрицательных чисел, отличных от 0, и позволяет избежать необходимости использовать какие-либо функции преобразования строк.
log10 , abs , и функции floor предоставляются math.h . Например:
Вы должны заключить это в предложение, гарантируя, что the_integer != 0 , так как log10(0) возвращает -HUGE_VAL в соответствии с man 3 log
Кроме того, вы можете добавить единицу к конечному результату, если входные данные отрицательны, если вас интересует длина числа, включая его отрицательный знак.
N.B. Природа вычислений с плавающей запятой, используемых в этом методе, может привести к тому, что он будет медленнее, чем более прямой подход. См. Комментарии к ответу Канкан для обсуждения эффективности.
Если вас интересуют быстрые и очень простые решения, следующее может быть наиболее быстрым (это зависит от распределения вероятностей рассматриваемых чисел):
Хотя он может и не выиграть призы за самое оригинальное решение, его легко понять, а также выполнить — так быстро.
На Q6600 с использованием MSC я сравнил это с помощью следующего цикла:
Это решение занимает 0,062 с, второе по быстродействию решение Пита Киркхэма с использованием подхода интеллектуального логарифма — 0,115 с — почти вдвое дольше. Однако для чисел около 10000 и ниже смарт-журнал работает быстрее.
За счет некоторой ясности вы можете более надежно превзойти Smart-Log (по крайней мере, на Q6600):
Это решение по-прежнему составляет 0,062 с для больших чисел и уменьшается до 0,09 с для меньших чисел — в обоих случаях быстрее, чем подход с использованием смарт-журнала. (gcc делает более быстрый код; 0,052 для этого решения и 0,09 с для подхода «умный журнал»).
C++ — how to find the length of an integer
I’m trying to find a way to find the length of an integer (number of digits) and then place it in an integer array. The assignment also calls for doing this without the use of classes from the STL, although the program spec does say we can use «common C libraries» (gonna ask my professor if I can use cmath, because I’m assuming log10(num) + 1 is the easiest way, but I was wondering if there was another way).
Ah, and this doesn’t have to handle negative numbers. Solely non-negative numbers.
I’m attempting to create a variant «MyInt» class that can handle a wider range of values using a dynamic array. Any tips would be appreciated! Thanks!