Форум программистов, компьютерный форум CyberForum.ru

Перевод чисел в разные системы счисления - Android

Восстановить пароль Регистрация
Другие темы раздела
Android Первая игра 4х4 http://www.cyberforum.ru/android-dev/thread1623833.html
Есть типа игра, в которой нужно нажать на все кнопки с числами по возрастанию. У меня 16 кнопок, я решил реализовать всё так: package com.example.root.v_1; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.Toast;
Android Как добавить свой шрифт в Android Studio? Как добавить шрифт в AndroidStudio, чтобы потом рисовать им методом drawText? Например, я хочу добавить comic sans ms http://www.cyberforum.ru/android-dev/thread1623687.html
Вынести версию из build.gradle во внешний файл Android
Гуру, подскажите возможно ли подобное? Вот кусок, который НЕ работает! (выдает You should define VERSION_1 and VERSION_2 in gradle.properties) defaultConfig { applicationId 'com.my' minSdkVersion 14 targetSdkVersion 14 signingConfig signingConfigs.key_config // VERSION
ViewPager при листаний назад повторяется стирается контент Android
del Добавлено через 33 минуты Сам не понял как сделал, но заработало все нормально. Где то в коде была логическая ошибка из-за этого не так работало. Всем спасибо! Разобрался!
Android FATAL EXCEPTION: main, приложение компилируется, но не запускается http://www.cyberforum.ru/android-dev/thread1623210.html
Доброго времени суток, пытаюсь подключить RSS ленту используя XML parser, приложение не запускается. Подскажите пожалуйста что не так в коде? Код RSSFeed.java package rss.android.rssfeed; import android.app.Activity; import android.os.Bundle; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.InputSource;
Android Запрос на сервер каждые несколько секунд Как лучше это реализовать? - Простым таймером? - Service? - или ? в случае сервиса мне не понятно как сделать так чтобы каждые несколько секунд срабатывал метод сервиса - опять нужно использовать таймер внутри сервиса? подробнее

Показать сообщение отдельно
Taras_lebdyk
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 245
24.12.2015, 15:34     Перевод чисел в разные системы счисления
Добрый день, когда то нашел код для перевода чисел в разные системы, но он на С# я его там для своей программы использовал, сейчас решим сделать чтобы и на андроид работало, но так как я понял я неправильно переделал код, так как программа работает некорректно, посмотрите оригинальный код пожалуйста:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/// <summary>
        /// Переводит из деятичной системы счисления в систему счисления с основанием N
        /// </summary>
        /// <param name="number">Число, которое переводим </param>
        /// <param name="sys">Система счисления, в которую переводим</param>
        /// <returns>Возвращает переведенное число в строковом формате</returns>
        private string ToN(string number, string sys)
        {
            string newNum = "";
            int num = Convert.ToInt32(number);
            int chast = Convert.ToInt32(number);
            ArrayList numTemp = new ArrayList();
            while(chast>0)
            {
                chast = chast / Convert.ToInt32(sys);
                numTemp.Add(num - chast * Convert.ToInt32(sys));
                num = chast;
            }
            int j;
            for (j=numTemp.Count-1; j >= 0; j--)
                newNum += newCh(numTemp[j].ToString(),"to");
            return newNum;
        }
        /// <summary>
        /// Функция, заменяет буквы на числа и наоборот
        /// </summary>
        /// <param name="sym">Число, над которым нужно работать</param>
        /// <param name="otk">В какую сторону осуществляется действие относительно десятичной системы счисления</param>
        /// <returns>Возвращает букву, если числу соответствует буква и наоборот, иначе число</returns>
        string newCh(string sym,string otk)
        {
            string s = "";
            if (otk == "to")
            {
                if (Convert.ToInt32(sym) > 10)
                    s += bukv.Substring(Convert.ToInt32(sym) - 10, 1);
                else
                    s += sym;
            }
            else if (otk == "from")
            {
                if (bukv.IndexOf(sym)==-1)
                    s += sym;
                else
                    s += (bukv.IndexOf(sym) + 10).ToString();
            }
            return s;
        }
 
 
        /// <summary>
        /// Переводит системы счисления с основанием N в деятичную систему счисления 
        /// </summary>
        /// <param name="number">Число, которое переводим </param>
        /// <param name="sys">Система счисления, из которой переводим</param>
        /// <returns>Возвращает переведенное число в строковом формате</returns>
        private string FromN(string number, string sys)
        {
            int newNum = 0;
            string temp = "";
            int t;
            int i;
            for (i = 0; i < number.Length; i++)
            {
                temp = "";
                temp += newCh(number.Substring(i, 1), "from");
                t=(int)Math.Pow(Convert.ToDouble(sys),Convert.ToDouble(number.Length-(i+1)));
                newNum += Convert.ToInt32(temp) * t;
            }
            return newNum.ToString();
        }
        private string FromTo(string number, string sysN, string sysK)
        {
            string temp="";
            temp=FromN(number, sysN);
            temp = ToN(temp, sysK);
            return temp;
        }
а это то, что я писал в java:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/// <summary>
    /// Переводит из деятичной системы счисления в систему счисления с основанием N
    /// </summary>
    /// <param name="number">Число, которое переводим </param>
    /// <param name="sys">Система счисления, в которую переводим</param>
    /// <returns>Возвращает переведенное число в строковом формате</returns>
    private String ToN(String number, String sys)
    {
        String newNum = "";
        int num = Integer.valueOf(number);
        int chast = Integer.valueOf(number);
        ArrayList numTemp = new ArrayList();
        while (chast > 0)
        {
            chast = chast / Integer.valueOf(sys);
            numTemp.add(num - chast * Integer.valueOf(sys));
            num = chast;
        }
        int j;
        for (j = numTemp.size() - 1; j >= 0; j--)
            newNum += newCh((numTemp.get(j).toString()), "to");
        return newNum;
    }
 
    /// <summary>
    /// Функция, заменяет буквы на числа и наоборот
    /// </summary>
    /// <param name="sym">Число, над которым нужно работать</param>
    /// <param name="otk">В какую сторону осуществляется действие относительно десятичной системы счисления</param>
    /// <returns>Возвращает букву, если числу соответствует буква и наоборот, иначе число</returns>
    String newCh(String sym, String otk)
    {
        String s = "";
        if (otk == "to")
        {
            if (Integer.valueOf(sym) > 9)
                s += bukv.substring(Integer.valueOf(sym) - 10, 1);
            else
                s += sym;
        }
        else if (otk == "from")
        {
            if (bukv.indexOf(sym) == -1)
                s += sym;
            else
                s += Integer.toString(bukv.indexOf(sym) + 10);
        }
        return s;
    }
 
    /// <summary>
    /// Переводит системы счисления с основанием N в деятичную систему счисления
    /// </summary>
    /// <param name="number">Число, которое переводим </param>
    /// <param name="sys">Система счисления, из которой переводим</param>
    /// <returns>Возвращает переведенное число в строковом формате</returns>
    private String FromN(String number, String sys)
    {
        int newNum = 0;
        String temp = "";
        int t;
        int i;
        for (i = 0; i < number.length(); i++)
        {
            temp = "";
            temp += newCh(number.substring(i, 1), "from");
            t = (int)Math.pow(Double.valueOf(sys), Double.valueOf(number.length() - (i + 1)));
            newNum += Integer.valueOf(temp) * t;
        }
        return Integer.toString(newNum);
    }
 
    private String FromTo(String number, String sysN, String sysK)
    {
        String temp = "";
        temp = FromN(number, sysN);
        temp = ToN(temp, sysK);
        return temp;
    }
скажите пожалуйста что не так, спасибо за помощь)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru