Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:258:a1a7:84...–

peter
Java › Počet nulových bitů v čísle
9. 11. 2017   #218441

Aha. Zkus si polozit otazku, jak zjistis jednotlive bity?

'deleni modulo %' je jen alternativni operace k 'and &'.
'floor + podminka' je jen alternativni operace k 'modulo'.
'nasobeni x*2' je podobna operace k shiftovani doleva x<<1
'deleni floor(x/2)' je podobna operace k shiftovani doprava x>>1

5 / 2 = 2.5
floor (5 / 2) = floor (2.5) = 2 ... orezani desetinne casti
5 % 2 = 1 ... 5 / 2 = 2 zbytek 1 ... matematika modulo, zbytek po celociselnem deleni
5 >> 0 = (bin) 0101>>0 = (bin) 0101 = (dec) 5 ... cislo nijak nezmeni, ale presto je to platna operace
5 >> 1 = (bin) 0101>>1 = (bin) .010 = (dec) 2 ... smaze posledni 1 bit ... cili to same jako floor (5 / 2)
5 >> 2 = (bin) 0101>>2 = (bin) ...01 = (dec) 1 ... smaze posledni 2 bity
5 >> 3 = (bin) 0101>>3 = (bin) ....0 = (dec) 0 ... smaze posledni 3 bity
5 & 1 = (bin) 0101 & 0001 = (bin) 0001 = (dec) 1
(5 >> 0) & 1 = (bin) (0101 >> 0) & 0001 = (bin) 0101 & 0001 = 0001
(5 >> 1) & 1 = (bin) (0101 >> 1) & 0001 = (bin) 0010 & 0001 = 0000
(5 >> 2) & 1 = (bin) (0101 >> 2) & 0001 = (bin) 0001 & 0001 = 0001
(5 >> 3) & 1 = (bin) (0101 >> 3) & 0001 = (bin) 0000 & 0001 = 0000
... dal uz jsou jen nuly
A kdyz sectes vysledek, ziskas pocet jednicek.
A samozrejme misto shiftu muses modulo % nebo floor+podminku.

peter
Java › Počet nulových bitů v čísle
9. 11. 2017   #218436

 Symbolicky

cislo = 123; // musi byt 64 bit
x = 1; // musi byt take 64 bit
bits = 0;
cyklus(i<64) {bits += cislo & x == 0 ? 0 : 1; x = x<<1;} //x = x*2; // if (cislo & x == 0) {bits+=0;} else {bits+=1;}
//cyklus(i<64) {bits += cislo & x; cislo >>= 1;} // cislo /= 2;
vypis(bits);

A tak jestli neznas ani binarni operace, dalo by se pouzit
floor(cislo / 2) == cislo / 2 nebo modulo
floor(5 / 2) == 5 / 2 --> floor(2.5) == 2.5 --> 2 == 2.5 -> false
cislo % 2 == 0
5 % 2 == 0 --> 1==0 --> false
delis 1, 2, 4, 8, ... a zjistujes, jestli je to pak true nebo false

peter
JavaScript, AJAX, jQuery › Načtení htm tabulky do scriptu
9. 11. 2017   #218435

Tady maji zas jiny kod, ktery okamzite obrazek nacita a zobrazuje
https://jsfiddle.net/…mpson/jPTV3/

<input type="file" id="collection" multiple /><br/>
<script>
if ( window.FileReader ) {
    document.getElementById("collection").onchange = function(){
        var counter = -1, file;
        while ( file = this.files[ ++counter ] ) {
            var reader = new FileReader();
            reader.onloadend = (function(file){
                return function(){
                    var image = new Image();
                    image.height = 100;
                    image.title = file.name;
                    image.src = /^image/.test(file.type) 
                        ? this.result 
                        : "http://i.stack.imgur.com/t9QlH.png";
                    document.body.appendChild( image );        
                }          
            })(file);   
            reader.readAsDataURL( file );
        } 
    } 
}
</script>
peter
JavaScript, AJAX, jQuery › Načtení htm tabulky do scriptu
9. 11. 2017   #218434

google = example javascript multiple files filereader

function setupReader(file) {
    var name = file.name;
    var reader = new FileReader();  
    reader.onload = function(e) {  
        // get file content  
        var text = e.target.result; 
        var li = document.createElement("li");
        li.innerHTML = name + "____" + text;
        ul.appendChild(li);
    }
    reader.readAsText(file, "UTF-8");
}

var ul = document.querySelector("#bag>ul");for (var i = 0; i < files.length; i++) {
    setupReader(files[i]);
}
// v html pak <div id=bag><ul></ul></div>
// Do toho ul prida odrazky li a nacte soubory.
// Muze se stat, ze nebudou presne v poradi.
peter
PHP › textarea - bug \n \r \t \\
9. 11. 2017   #218433

Kdyby to nekoho zajimalo, je to jen takovy pokusny programek prepsany z js. V tom js se nic neodesila a funguje to v pohode. A to ikdyz udelam copy z te oblasti ta2.
Ale trochu mne ted stve, ze to dekodovani dela jako snek. Netusim proc.

http://mlich.zam.slu.cz/js-bwt/bwt_class.txt
http://mlich.zam.slu.cz/…cryptbwt.htm

peter
PHP › textarea - bug \n \r \t \\
9. 11. 2017   #218432

Staci zamenit 

	$str = escapePost($str);
//za
	$str = escapePost($str);
	$str = strrev($str);
peter
PHP › textarea - bug \n \r \t \\
9. 11. 2017   #218431

Mam textarea1 (ta1), kam vlozite text, kliknete odeslat, prevezme to php, zpracuje a vrati k zobrazeni textarea2 (ta1).

Pokud zpracovani nic neudela, je vsechno o, pocet znaku na leve (ta1) strane, i na prave (ta2) souhlasi.
Pokud ten program znaky rekneme nahodne promicha, roztrhne to kombinaci hex 0D0A, cili enter, zalomeni radku A textara samostatny 0D nebo 0A interpretuje jinak, jednou znak smaze, podruhe doplni zalomeni. To je naprosto nezadouci, protoze zpetne to neni kompatibilni a kdybych to ted tal odesla ke zpetnemu promichani, tak nedostanu stejny vstup v ta1.

Provizorne to ted resim pres  

$slashes_chars = "\\\n\r\t";
$data['out'] = addcslashes($data['out'],$slashes_chars);
$data['out'] = stripcslashes($data['out']);

Testovaci kod muze vypadat treba takto

<?php
//function escapeHtml($str) {return htmlspecialchars($str);}
function escapeHtml($str) {return htmlspecialchars($str,ENT_COMPAT | ENT_NOQUOTES);}	//bez quotes


function escapePost($str)
{
//return urldecode(stripslashes($str));
//return stripslashes($str);
//return urldecode($str);
//if (get_magic_quotes_gpc() || version_compare(PHP_VERSION, '5.4.0', '>') )
//	{
//	$str = stripslashes($str);
//	}
return $str;
}



header("Content-Type: text/html; charset=windows-1250"); 

	$str = isset($_POST['str_in']) ? $_POST['str_in'] : '';
	$str = escapePost($str);
echo strlen($str);
?>

<fieldset>
<legend>BWT transformation</legend>
<form name="form1" method="post" enctype="multipart/form-data"> <!-- -->
<table><tr><td>
  -- 1 --<br>
  <textarea name="str_in" cols="40" rows="7"><?php echo escapeHtml($str); ?></textarea><br>
  &nbsp;
</td><td>
</td></tr></table>
<p>
<input type="submit" name="decode" value=" bwtDecode "/> (2+key to 1)
</p>
</form>
</fieldset>

Kdyz tady date 5x po sobe odeslat, tak je vsechno ok. Ale zkuste tam pridat nahodne promichani nebo jen reverzi  strrev();. Do textarea zkopirujte napr kod celeho programu.

peter
MySQL › Problem s cislami
9. 11. 2017   #218430

Pokud je vsechno spravne, i nastaveni tabulky, tak by mohlo byt neco v globalnim nastaveni. Neco, jako se pouziva SET NAMES. Osobne jsem takhle resil na mssql format datumu (server vracel d.m.yy), kdy jsem asi puldne googloval, protoze se to dost spatne hleda, kdyz nevis, jak to pojmenovat.

connect
SET NAMES urf8 -- nebo tak nejak
SET neco pro float
ostatni sel prikazy
disconect

google = sql format float set
https://dev.mysql.com/…ariable.html
https://dev.mysql.com/…riables.html

 Tohle vypada uz blizko

mysql> SELECT 1/7;
+--------+
| 1/7    |
+--------+
| 0.1429 |
+--------+
mysql> SET div_precision_increment = 12;
mysql> SELECT 1/7;
+----------------+
| 1/7            |
+----------------+
| 0.142857142857 |
+----------------+
peter
.NET › Hra - Vrstvy na postavě
9. 11. 2017   #218428

1.5 rucni je zbran, ktera se da drzet jednou nebo dvema rukami. Pro kazdy pripad ma jine dmg. Dmg je obvykle i pri drzeni dvema mensi nez u masivni obourucni. Pri drzeni jednou dmg take neni tak dobre jako u specializovane pro jednu ruku. Vyhoda ale je, ze se da pouzivat tak i tak.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý