powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Funksiya ne rabotaet (iz 10 v 2)
9 сообщений из 9, страница 1 из 1
Funksiya ne rabotaet (iz 10 v 2)
    #32547913
novichek1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pomoqite, pojalusta, sintaksiceskie oshibka v stroke:
lc_bin = TRANSFORM(MOD(ln_num, 2)) + lc_bin



? Num2Bin(31)

FUNCTION Num2Bin(pn_num)
LOCAL ln_num, ;
lc_bin
lc_bin = SPACE(0)
ln_num = pn_num
DO WHILE ln_num <> 0
lc_bin = TRANSFORM(MOD(ln_num, 2)) + lc_bin
ln_num = INT(ln_num / 2)
ENDDO
RETURN (lc_bin)
...
Рейтинг: 0 / 0
Funksiya ne rabotaet (iz 10 v 2)
    #32547951
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая версия FoxPro?

Попробуй вместо указанной строки написать так:

lc_bin = TRANSFORM(MOD( m. ln_num, 2)) + m. lc_bin

Т.е. добавить префикс "m." к именам переменным для однозначного указания, что это именно переменные, а не поля таблицы в текущей рабочей области.

Еще можешь попробовать так:

lc_bin = STR (MOD( m. ln_num, 2) ,1 ) + m. lc_bin
...
Рейтинг: 0 / 0
Funksiya ne rabotaet (iz 10 v 2)
    #32547963
novichek1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Spasibo, poluchilsya.
...
Рейтинг: 0 / 0
Funksiya ne rabotaet (iz 10 v 2)
    #32547995
novichek1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
A kak iz 2 v 10?
...
Рейтинг: 0 / 0
Funksiya ne rabotaet (iz 10 v 2)
    #32548021
novichek1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Versiya foxpro Visual Foxpro 5.a
...
Рейтинг: 0 / 0
Funksiya ne rabotaet (iz 10 v 2)
    #32548751
novichek1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kto nibud pomejet mne?
...
Рейтинг: 0 / 0
Funksiya ne rabotaet (iz 10 v 2)
    #32548772
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем помочь-то? Конвертировать строку из двоичного представления в десятичное? Это мог бы и сам сделать:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
?Bin2Num("0111")

FUNCTION Bin2Num
PARAMETERS tcBinary
LOCAL lnNumeric, lnBase
lnBase =  1 
lnNumeric =  0 
LOCAL lnI
FOR lnI = LEN(m.tcBinary) TO  1  STEP - 1 
	lnNumeric = m.lnNumeric + m.lnBase*VAL(SubStr(m.tcBinary,m.lnI, 1 ))
	m.lnBase = m.lnBase* 2 
ENDFOR
RETURN m.lnNumeric
...
Рейтинг: 0 / 0
Funksiya ne rabotaet (iz 10 v 2)
    #32557361
novichek1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
A kak nascet netseloqo cislo iz 10 v 2 i iz 2 v 10)
napirmer:
31.5

ili
14.7
Eti funksiya nerabotaet netselimi chislomi?
...
Рейтинг: 0 / 0
Funksiya ne rabotaet (iz 10 v 2)
    #32558061
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, подумай чуть-чуть самостоятельно!

Число в ЛЮБОЙ системе исчисления выражается таким способом:

...+a5*N**5+a4*N**4+a3*N**3+a2*N**2+a1*N**1+a0*N**0+a_1*N**(-1)+a_2*N**(-2)+...

Здесь N - это основание системы исчисления. Для двоичной системы - это 2, для десятичной - 10

a5, a4, a3, a2, ... - это коэффициенты, которые принимают значение от 0 до (N-1). Для двоичной системы - это 0 или 1, для десятичной - от 0 до 9

Степень для N определяет положение коэффициента в выражении числа. Т.е. если N в степени 5, то коэффициент a5 это шестая цифра справа от точки. Степень 0 - это первая цифра справа от точки (любое число в нулевой степени равно 1). Отрицательные степени - это дробная часть.

Таким образом, число 31.5 в десятичной системе исчисления это

3*10**1+1*10**0+5*10**(-1) = 31.5

В двоичной системе исчисления это

1*2**4+1*2**3+1*2**2+1*2**1+1*2**0+1*2**(-1) = 11111.1

Для целой части числа тебе уже привели алгоритм, а для дробной действуешь примерно также, только надо не делить остаток, а умножать
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Funksiya ne rabotaet (iz 10 v 2)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]